RAM Map
__FORCETOC__ 02000000-02002FEF is saved to Save Game. 02000000 = Player Progress Data 02000000 = Used in saving. 02000000 = Name 0200000C - Level 02000010 = Frame counter 02000014 = Coins 02000018 = Djinn amounts 0200001C = PC order (First 4 PCs.) 02000026 = Build date related 0200002C = Checksum of 02000040-02000F60. (?) 02000030-F = Unused? 02000040 = Storybook Flag List 000 - 1FF = General Data that includes practically everything you could use anywhere in the game. Character/Djinn flags, and what not. 000 - 007 = Player Characters 010 - 01C = Summons (Only the tablet ones from Zagan to Iris.) 020 = GS1: If on: Young Isaac / Young Garet 021 = GS1: If on: Young Isaac wears Machete; Adult Isaac is transparent. 022 = Toggles overworld music. 0 for default, 1 for joined party music. Also disables your ability to transfer data from GS1. 02C = GBA Link 02D = Password 02E = Hard mode 02F = Updated 030 - 07F = Djinn - At least one djinni is required to use the Battle Arena. (Doesn't have to be Echo.) 080-0DF = Cleared when switching rooms. ; Related to djinn. (100-15F = Unknowns?) 107 = Disables menus (A/Select, and Start button (A.k.a. Pause menu) screens. You can still access the debug menus, though. Also disables psynergy shortcuts. 110-113 = Elemental Regeneration: Adds 4 PP in battle at the end of a round. Venus, Mercury, Mars, Jupiter, respectively. ; Cleared when you switch areas. 11B = Music never changes when you switch rooms. 11C = "This places doesn't seem to appear on the map." (Map specific) 11D = ? 11E = "This places doesn't seem to appear on the map." (Is this position-specific/auto-updates?) 11F = (Unknown, but gets refreshed while transitioning rooms.) 120 = Up stairs animation after going through a door. 121 = Down stairs animation after going through a door. 122 = Fall from ceiling animation after going through a door. 123 = Set if current room is town. Related to the Retreat ability, but not what disables Retreat. (Cleared on room change, but set if byte x3 is 2 for a room entry at 080F17A8. "02" disables Retreat.) 12F = Show Area’s name on room entry. ; Seems to be set directly after Area flags are cleared. (x300-3FF); but is soon after unset. (Not sure when, yet.) ASM: 080C9C92 140 = Utility flag: 0=Not Interaction/Not-interaction; 1=Interaction/Non-interaction 141 = Utility flag: 0=Non-interaction; 1=Interaction 144 = Disables Retreat. 146 148-14F = When a flag is on, forces screen to a specific shade of color when psynergy is used. 15F = Disable random battles. (May make it so that when function 080C9FD8 is called, it starts a battle without the counter check. Not sure if game ever uses it this way?) 160 = Disable random battles. (Manual reset?) 161 = Disable random battles. (Room-based reset) (162/3? - 17F = There are some debug mode flags in here, not sure what all is here yet.) 163 = *Requires Debug mode, I think* Disables battle encounters, warps, etc. (You cannot climb up vines, move pillars, etc.) You get free-movement on the world map (Navigating over mountains and oceans.) 167 = Boosts Encounters? (Set if one of the party members has an item that boosts encounters.) 16A = Should be battle related. 16B = Should be battle related. 16C = Should be battle related. - Cleared when switching rooms. (0=Battles can have up to 6 enemies? ; 1=Up to 3 enemies?) 16D = *Requires Debug mode, I think* In battle, during the attack sequence, you can press R to destroy all the enemies. Do this with Select pressed and it'll destroy your party. 16E = On battle encounter do djinni tutorial. 170 = 172 = A line appears between Piers and the other three on the Status screen. 173 = Battle Arena (For stepping in the circle & clearing enemy flags for enemies that don't appear in the arena) 174 = Should be battle related. (Enemy Groups related: 0= Returns NEG 2 if any enemy in battle was never defeated; 1=Get average levels for all enemies in battle.) 175 = Alternate music during the Echo djinn tutorial. (Set when you hold UP after leaving Daila.) 176 = On ship during World Map. (Flag used in music table.)- Sets/clears on room change. (Note: 020004B6 is read.) 17C = "Cannot save here" when trying to save. 17D = "This is no place for that!" when trying to save. (Only if flag 17C is off.) 17E = "The Pause Menu is not available now." (Cleared when switching rooms.) 17F = GS1: Isaac can run faster. (Hold B.) 180 - 1FF = Area flags (Flags are set when you visit the entrance room of an area.) I'm guessing there are unused flags mixed up in this bunch. This is used for the World Map Screen. (R button on World Map.) Bank: 080F1140 200 - 2FF = Room-based flag bank. These are reset back to 0 when you switch between rooms. 300 - 3FF = Area-based flag bank. These are reset back to 0 when you switch between areas. 400 - 41F = Shop flags. Each flag is for each shop, and they are set when you visit them the first time. The order of these flags match the Shop list in the editor. 420 - 5FF = Probably unused? 600 - 782? = Enemy flags. These are set on first-kill of an enemy. Each enemy has a flag. (?) I will need to look into this... 783? - 7FF = Probably unused? 800 - ??? = Story flags. (Cutscenes/etc.) Not sure where this ends, but I know the A80 section has story flags for Anemos Inner Sanctum. 800-81B = Isaac and co.'s djinn. (Starting at the beginning of the game. ; These are populated when you get to the screen that you name Isaac on.) 81C-81F = Unused? 81E = used 820-824 = ? 825-83F = Unused? 840 = 35 – DEKAN01: Dehkan Plateau (Statue moved for shortcut.) 841 = 36 – DEKAN02: Dehkan Plateau (Statue moved for shortcut.) 842 = 21 – KANDO_O: Kandorean Temple (Bush blocking doorway.) 843 = 844 = 845 = 846 = 847 = 848 = 22 – KANDO_E: Kandorean Temple (Entrance cutscene.) 849 = 22 – KANDO_E: Kandorean Temple (Lash Pebble cutscene (before)) Note: Allows you to leave through entrance door. 84A = 22 – KANDO_E: Kandorean Temple (Lash Pebble cutscene (after)) 84B = 84C = 25 – KAIJIN03: Shrine of the Sea God (Statue moved for shortcut.) 850 = 82- AYERES01: Air's Rock: Whirlwind Scene (For treasure) 851 = 82- AYERES01: Air's Rock: Whirlwind Scene 852 = 82- AYERES01: Air's Rock: Whirlwind Scene (For treasure) 853 = 82- AYERES01: Air's Rock: Whirlwind Scene 854 = 82- AYERES01: Air's Rock: Whirlwind Scene (For treasure) 855 = 82- AYERES01: Air's Rock: Whirlwind Scene 856 = 82- AYERES01: Air's Rock: Whirlwind Scene 857 = 82- AYERES01: Air's Rock: Whirlwind Scene 858 = 82- AYERES01: Air's Rock: Whirlwind Stone Scene (Passage on wall.) 85F = 83- AYERES02: Air's Rock: Statue moved 869 = 83- AYERES02: Air's Rock: Statue moved 861 = 83- AYERES02: Air's Rock: Statue moved 862 = 83- AYERES02: Air's Rock: Statue moved 86C = 35 – DEKAN01: Dehkan Plateau (Mars Djinni escaping cutscene 1.) Cannon 86D = 35 – DEKAN01: Dehkan Plateau (Mars Djinni escaping cutscene 2.) 86E = 36 – DEKAN02: Dehkan Plateau (Mars Djinni escaping cutscene 3.) 86F = 36 – DEKAN02: Dehkan Plateau (Mars Djinni escaping cutscene 4.) 870 = 36 – DEKAN02: Dehkan Plateau (Mars Djinni escaping cutscene 5.) 871 = 38 – DJ_DKN01: Dehkan Plateau (Mars Djinni escaping cutscene 6.) 872 = 23 – KAIJIN01: Shrine of the Sea God (Riki and Tavi 1) 873 = What sets this flag? ; Daila flooded (0) ; Daila cleaned up (1) 874 = 25 – KAIJIN03: Shrine of the Sea God (Jupiter Djinni escaping cutscene 1.) Breath 875 = 25 – KAIJIN03: Shrine of the Sea God (Jupiter Djinni escaping cutscene 2.) 876 = 27 – KAIJIN05: Shrine of the Sea God (Jupiter Djinni escaping cutscene 3.) (When under bridge) 877 = 27 – KAIJIN05: Shrine of the Sea God (Jupiter Djinni escaping cutscene 4.) (When on bridge) 878 = 38 – DJ_DKN01: Dehkan Plateau (Retrieved Pound Cube.) 879 = 84- AYERES03: Air's Rock: Statue moved 87A = 84- AYERES03: Air's Rock: Whirlwind Stone Scene (Passage on wall.) 87B = 84- AYERES03: Air's Rock: Whirlwind Stone Scene (Passage in ground.) 87C = 27 – KAIJIN05: Shrine of the Sea God (Jupiter Djinni escaping cutscene 5.) 887 = 83- AYERES02: Air's Rock: Statue moved 889 = Yampi Desert (70:4): King Scorpion running under sand 1. 889 = Yampi Desert (71:1): King Scorpion running under sand 2. 88A = Yampi Desert (71:3): King Scorpion running under sand 3. 88B = Yampi Desert (71:3): King Scorpion ready for battle. 88C = Yampi Desert (71:3): King Scorpion defeated. 890 = 4 – V_ENT: Venus Lighthouse (Soldiers cutscene.) 891 = 4 – V_ENT: Venus Lighthouse (Birds cutscene. Entering) 892 = 4 – V_ENT: Venus Lighthouse (Birds cutscene. Exiting) 893 = 4 – V_ENT: Venus Lighthouse (Ruffian 1) 894 = 6 – SHR_M14: Suhalla Gate (Ruffian 2) 895 = 7 – SHR_M23: Suhalla Gate (Ruffian 3, 4, 5) 896 = 8 – SHR_M56: Suhalla Gate (Punch Ant) 897 = 86- AR_IN02: Air's Rock: Statue moved (east) 898 = 86- AR_IN02: Air's Rock: Statue moved (west) 899 = 86- AR_IN02: Air's Rock: Whirlwind Stone Scene 89A = 85- AR_IN01: Air's Rock: Whirlwind Stone Scene 89B = ? 89C = ? 89D = ? 89E = ? 89F = 86- AR_IN02: Air's Rock: Visited inside. 8A7 = Isaac, the Pirate King! (96:25) (Cutscene can be done.) 8AB = 45- MDROOM01: Madra: Piers escaped jail. (When is this set?) 8CD = Gabomba Statue… 8D1 = Air's Rock (Inside; Statue moved 2 units south.) 8D4 = 89- AR_IN05: Air's Rock: Sheba learned Reveal. 8DE = Ship acquired. 8DF = Ship has wings. 8F0 = 68- YANPI02: Yampi Desert: NPC Group Cutscene. 8F6 = Gabomba Statue: Puzzle Explanation at top. (121:1) 8FF = 44- OTMP0005: Madra: Karst's appearance. (When is this set?) 903 = Isaac, the Pirate King! (96:25) (Cutscene done.) 910 = 44- OTMP0005: Madra: Entrance cutscene 911 = 45- MDROOM01: Madra: Piers in jail cutscene. 912 = ? 913 = 44- OTMP0005: Madra: After exiting jail house from jail scene. Permission to cross drawbridge into Ocensia. 919 = ? (Set in Garoh) 91A = ? 91B = Night to Daytime (After Maha Night cutscene) 91C = ? 91D = 63- POPEE5: Garoh: Werewolf child runs away cutscene 91E = 63- POPEE5: Garoh: Werewolf Maha cutscene. (Night) 91F = 63- POPEE5: Garoh: Werewolf Maha cutscene. (Day) 982 = Lemurian Ship (Allows access to final room.) 983 = Lemurian Ship (Final room cutscene.) 985 = 43 – REM_SHIP01: East Indra Shore (Lemurian Ship cutscene) 9B4 = 234 – ATK_IRIE: Atteka Inlet (Flag set on room entry.) Lemurian Ship and wings. 9B8 = Mad Plant: Mint (Requires Cyclone) (Jupiter Lighthouse) (252:4) Anemos Inner Sanctum flags. A80 = Shortcut Statue 2 (304:2, or 304:3 if moving statue.) A81 = Shortcut Statue 1 (304:7) A82 = Shortcut Statue 3 (305:6, go left) A83 = Statue (Statue near 305:15, button near 305:13) A84 = Statue Mount (East) (305:12) A85 = Statue Mount (South) (305:12) A86 = Statue (306:5) A87 = All Earth Djinn (303:99) A88 = All Mercury Djinn (303:99) A89 = All Mars Djinn (303:99) A8A = All Jupiter Djinn (303:99) A8B = Djinn Door Unlocked (303:99) A8C = Summon Tablet: Charon (Event on stairs before obtaining it.) A8D = Unused? A8E = ? A8F = 32- AR_IN08: Air's Rock: Statue moved (Statue seen from 92:1) A9F = Dullahan defeated (Anemos Inner Sanctum) AA4 = Quest: Pretty Stone given to bird for Red Cloth. (This affects mind read dialogue.) E00 - E06? = Chests (Probably the extended section of the original F** section.) E00 = Orihalcon (282:2) E01 = Valkyrie Mail (284:7) E02 = Sol Blade (285:1) E03 = Psy Crystal (294:14) E04 = Dragon Skin (303:1) Anemos Inner Sanctum E05 = Dark Matter (306:2) E06 = E41 = Unknown E50 - E5F = World Map Equipment Or Hidden Items? E5B = Rusty Axe (Captain's Axe) SE of Lemuria E5C = Rusty Mace (Hagebone Mace) NE of Izumo E5D = Rusty Sword (Pirate's Sabre) E of Tundaria Tower E5E = Rusty Staff (Goblin's Rod) W of Kalt Island by waterfall. E5F = Rusty Sword (Soul Brand) Western seas; surrounded by rocks. Ship w/ wings required. E70 - E78 = Mimics E71 = Lucky Medal (Air's Rock) (82:?, near top/Whirlwind statue) E75 = Power Bread (Treasure Isle) (300:5, on screen) F00 - FFF = Treasure flags. xF00 = 5 – VT001: Venus Lighthouse (Herb) xF07 = 34 - DEKAN00: Dehkan Plateau ; Full Metal Vest xF08 = 34 - DEKAN00: Dehkan Plateau ; Elixer xF09 = 37 – DJ_DKN00: Dehkan Plateau ; Mint xF0A = 35 – DEKAN01: Dehkan Plateau ; Themis’ Axe xF0B = 36 – DEKAN02: Dehkan Plateau ; Nut xFC2 = 218 - HESDJ: Hesperia Settlement (2) ; Coins xF80 = 196 – ANGKOR_T: Ankohl Ruins ; Left Prong F13 = Apple (Madra Catacombs) (47:5, near rope coil.) F14 = Lucky Medal (Madra Catacombs) (50:1) F15 = Ruin Key (Requires 0x8CC/Tremor) (Madra Catacombs) (50:15) F16 = Tremor Bit (Madra Catacombs) (52:2) F24 = Apple (Alhafra Inn, 2nd floor, jar) (96:25) F32 = Smoke Bomb (Air's Rock) (82:1, chest seen on screen) F33 = Cookie (Air's Rock) (82:?) F34 = Storm Brand (Air's Rock) (82:?) F5D = Apple (Requires Catch) (Kalt Island) (219:1) F75 = Apple (Gaia Rock) (176:1) F94 = Cookie (East Indra Shore, box) (43:2) F98 = Cookie (Taopo Swamp) (143:3) (Treasure Isle) FCD = 161 coins (298:3) FCE = Lucky Medal (298:3) FCF = Empty FD0 = Empty FD1 = Empty FD2 = Empty (299:0) FD3 = Empty FD4 = Empty FD5 = Empty FD6 = Empty FD7 = Empty FD8 = Empty FD9 = 911 coins FDA = Psy Crystal FDB = Cookie FDC = Sylph Feather FDD = Rusty Axe FDE = Star Dust FDF = Jester's Armlet (300:1) FE0 = Fire Brand (301:6, on screen) FE1 = Iris Robe (301:4, on screen) FE8 = Blue key (Jupiter Lighthouse; 261:13) FFA = Cookie (Prox) (270:1) Jar in front of Inn. FFD = Apple (Mars Lighthouse) (279:1) 02000240 = On save, build date related. 02000244 = On save, frame counter. 0200024C = Summon flags (For use in battle) 02000250 = Coins 02000254 = Some of this data may have to do with auto-setting djinn. 02000378 = Spent coins at shops. (For game ticket offers) 0200037C = Number of Game Tickets bought, caps at 0x1C. (Above two addresses used to help determine how much coins you need to spend until you are offered Another Game Ticket.) Tickets 1-5 = 300 coins 6=10 = 500 coins 11-15 = 1000 coins 16-20 = 2000 coins 21-25 = 4000 coins 26+ = 8000 coins 0200037D = Lemuria Spring - Item chances for 15 items. (Relative to the other items.) 0200038C = Lucky Wheels Item Group. (Might be two bytes for two possible rewards in one go round.), 02000394 = Lucky Wheels - Last item retrieved in each group. (5 bytes), This makes it so you can't receive the same item twice in a row. The GS Wiki seems to say something about Moons changing a probability, but I don't see any evidence of that in the code. I think if you get all five moons, that it randomly selects a group. There's a function here that works like that, but I haven't verified to make sure the 5-in-a-row Moons use it. Most likely, though. 02000420 = Map and door number (Different in battle) 02000424 = Sanctum map and door number 02000428 = Current map and door number 0200042C = Area? 0200042E = Map and door number when you win or flee a battle. FFFF to use current map and door number instead. 02000432 = Map and door number when you lose a battle. FFFF to use sanctum map and door number instead. 02000436 = Battle Background 0200043A = Graphic Map Index. (For file index table on map/pal/tilesets; see 0802F380) 0200043C = X 02000440 = Z 02000444 = Y 02000448 = Direction 0200044E = Battle song 02000450 = Map song 02000452 = Movement mode 00 - Normal mode 01 - Overworld mode 02 - Climbing wall 03 - Climbing rope 04 - Walking rope 05 - Sand 06 - Ship mode (Normal) 07 - Ship mode (Overworld) 08 - Hover Ship mode 09 - Sand (World Map) 0A - Hover 0B - Slippery Ground 0C 02000454 = Leader 02000458 = PC order 02000460 = ? 02000465 = Window color 02000466 = Window brightness 0200046A = Speech 0200046C = Message speed 0200046F = Set to 01 to Lock File. This is used when you save for the last time after the final boss. 02000470 = Actions / Buttons 02000480 = Psynergy Shortcuts 02000484 = ? 0200048A = Auto-Sleep 0200048B = Battle: Flee 00 = Normal 01 = ? 02 = No Flee option. 03+ = "This is no time to be running away!" 0200048C = Seconds to wait until “hit” on map. 0200048E = Make 0001 to turn on vulnerable to hits. 02000490 = Hit Damage (If higher than 10, hit sound effect changes; if 0, sounds like cure.) 02000491 = ? 02000492 = Hit counter 02000496 = FFFF if lost battle, 0001 if won/fleed? (What is set to argument of function 080C977C) 02000498 = Battle activator counter. 0200049C = Item to receive when you leave the room. 0200049E = 0001 on Non-towns; 0002 on Towns. (Probably taken from room data for Retreat.) 020004A0 = Map and door number (Used with Retreat) 020004A4 = Avoid's effects counter. 020004A8 = If 00, “Avoid’s effects wore off.”, else “Sacred Feather’s effects wore off.” 020004AA = 020004AC = Sand - Disables random battles. 020004AD = Cloak - Disables random battles. 020004B6 = On ship flag. 020004B8 = Ship X 020004BC = Ship Y 020004C0 = Direction 020004CC = Isaac’s party coins? 020004FC = Forged item 020004FE = Teleport’s Map number 02000500 = Teleport’s Door number 02000502 = Teleport-related 02000508 = Battle Arena: Record - The number that's displayed in the old man's convo. 02000510 = Battle Arena: Record - The three on-screen numbers. 02000518 = Build date related 02000520 = PC Data *8 ; Felix (04) below: 02000A50 = Name 02000A5F = Level 02000A64 = HP %th 02000A66 = PP % 02000A84 = Max HP and PP 02000A88 = Current HP and PP 02000A8C = Attack and Defense 02000A90 = Agility 02000A92 = Luck 02000A98 = Elemental Power/Resist 02000AA8 = Psynergies (32 max) (8000=Class Psynergy) 02000B28 = Items (F800=Quantity; 0400=Broke; 0200=Equipped; 01FF=Item) 02000B48 = Djinn (Venus, Mercury, Mars, Jupiter; Ready/Not Ready (Set/Standby); Total *2) 02000B70 = 02000B74 = Exp 02000B79 = Class 02000B80 = Curse 02000B81 = 01 for poison; 02 for venom. 02000B82 = Attack Turns & Up/Down 02000B84 = Defense Turns & Up/Down 02000B86 = Resistances Turns & Up/Down 02000B88 = Delusion Turns 02000B89 = 02000B8A = (If 0, allows you to x0 an attack? Includes delusion and 1/32 random.) 02000B8B = Stun Turns 02000B8C = Sleep Turns 02000B8D = Psy-seal Turns 02000B8E = HP Regenerate Turns 02000B8F = Reflect Turns 02000B90 = Haunt 02000B91 = Turns until downed. 02000B97 = Agility Up/Down (Value???) 02000B9A = ID 02000F80 = Probably Unused? 02001000 = Map State Data? 02001000 = Play Time (2nd value, but not sure how it's used) 02001004 = List of 32 Obj/NPC RAM Index slots 02001024 = 32 NPC Data 02002024 = Sprite related 02002044 = Sprite related 02002064 = Sprite related 02002084 = Unused? 0200208C = Artifacts 020021B8 = ? (Randomly generated numbers of 0 to 4.) 02002338 = ? 0200234C = ? 0200244C = I know a value in this section is used in the Trial Roads to determine which puzzle to display. 0200254C = Ex: Geysers, dragon fire blasts, etc. ; Perhaps these are like event timers? 02006800 = Audio 02007400 = ? 02008000 = Everything else 02008000 = Map Code Initialization Some Entrances Exit Init NPC Init Event Init Special Entrances? (For Z-coords) (May need to double check.) Copy tiles/etc? (More research needed) 02010000 = Tilemap (Including graphics, event indexes, heightmap, etc.)(32-bit a tile) 000007FF = Graphic tile 00000800 = Unused? (MSB of graphic tile in GS1) 00FF0000 = Event Connecter? (For doors as well.) (FF=Wall, FE=Gap for hopping?) FF000000 = GS1: Height data; GS2: Special tilescript flags. 01000000 = ? (Not sure if used or not?) 02000000 = ? (Seen used in Jupiter Lighthouse near Hover pads/slopes. No idea what it could be.) 04000000 = Determines whether to use the first or second encounters index. 08000000 = Hit/damage inducing. 10000000 = ? (Not sure if used or not?) 20000000 = Slope down. 40000000 = Climbable (Ladder/Vine) (Use same value on tile above or below to activate.) 80000000 = Hop. (Can hop from this tile.) 02020000 = Tile data (Mini-tiles) (F000=Palette; 0C00=Flips; 03FF=Tile) 02024000 = Heightmap tilemap. 02028000 = Animation Tileset 0202C000 = Heightmap tile table (Defines the 16x16 tiles that will be used in the heightmap) 0202D000 = Tile animation data (Stuff like water) 0202DE00 = Tile layer visual effects (Sun rays in Madra) 0202E000 = Coord Data Three relative addresses to Entrances data and later. Treasure locations Entrances Copy Tiles (Each entry is a Storybook Flag & 6 bytes for “from x/y”, “to x/y”, “w/h”) Map boundaries 02030000 = Sprite data / Battle data 02030158 = Exit (Takes action when not 0.) 0203018C = Room’s Battle Encounters index 02030F00 = See below. During room transitions, temporarily holds non-graphic tilemap data. (Up to 02038F00.) 02030F08 = Top layer mini-tiles. (BG0, where dialogue and menus are used.) 02031408 = 02031D38 = 02031E38 = Text 02038F00 = 02035708 = Battle text 02035B08 = ? 03000000 = 02 RAM free space (02030000-02040000) 03000004 = 03 RAM free space (03001300-03006FC0) 03000008 = ? 0300000C = How sprites are loaded. (03002100) 03000010 = How sprites are displayed. (03001300) 03000014 = Player and NPC data. (020322EC) 03000024 = Battle data (Including Round/Turn data) (0203004C) 03000030 = Battle-related (Includes camera angles.) (02030000) 0300003C = Map Base for Foreground/panels (+3=01 will refresh screen.) 0300006C = Room data (Including pointers to Event table, NPCs, etc.) (02030000) 03000080 = Palette? 0300009C = Rope objects (Lash) (02036CF0) 030000A0 = Rope objects (Non-lash) 030000D8 = Enemy data (020308C8) 030000E8 = Icon menu 03000100 = Arm functions 0300021C = 03000230 = 03000258 = clear_data(address,size) Fills data with 0. 03000260 = fill_data(address,size,fill_val) 030002D4 = 03001100 = Counter (From boot) 03001110 = Map Base related 03001150 = Controls 0300117C = Play Time 030011BC = Random number (General Use?) 030011C4 = Map Base 0300120C = Sprites are static on screen when off. (When is this off?) 03001228 = This determines if the functions in 02003610 are called. 03001238 = Debug mode 03001250 = String (0123456789ABCDEF / Integer (+/-)) 03002100 = Sprite table Default memory usage at 03007FXX (and mirrored to 03FFFFXX) Addr. Size Expl. 7FFCh 4 Pointer to user IRQ handler (32bit ARM code) 7FF8h 4 Interrupt Check Flag (for IntrWait/VBlankIntrWait functions) 7FF4h 4 Allocated Area 7FF0h 4 Pointer to Sound Buffer 7FE0h 16 Allocated Area 7FA0h 64 Default area for SP_svc Supervisor Stack (4 words/time) 7F00h 160 Default area for SP_irq Interrupt Stack (6 words/time) --- Map Code RAM Maps Intro/Boot 02008038 = MAJOR2 = Some Entrances = Return 0200864C 02008040 = MAJOR6 = Return 0 02008044 = MAJOR3 = Exit Init = Return 0200867C 0200804C = MAJOR4 = NPC Init = Return 02008680 02008054 = MAJOR5 = Event Init = Return 02008698 0200805C = MAJOR1 = Initialization 02008204 = MAJOR7 = = Return 0 02008208 = ? (Pointer to 020086A4) ; Palette... 02008278 = ? (Pointer to 020086A4, 020086DC, 020086F0) 0200831C = ? (Pointer to 020086DC) 02008490 = ? (Pointer to 06003000, 06006800) 02008574 = FUNCTION LIST! 0200864C = MAJOR2 = Some Entrances = All 0200867C - MAJOR3 = Exit Init 02008680 = MAJOR4 = NPC Init 02008698 = MAJOR5 = Event Init 020086A4 = ? 020086DC = ? 020086F0 = ? 02008??? = End Intro/Menu 02008038 = MAJOR2 = Some Entrances = Return 0200A49C 02008040 = MAJOR6 = Return 0 02008044 = MAJOR3 = Exit Init = Return 0200A4CC 0200804C = MAJOR4 = NPC Init = Return 0200A4D0 02008054 = MAJOR5 = Event Init = Return 0200A4E8 0200805C = ? 0200815C = ? (Pntr to 0200A4F4) 020081F4 = ? (Pntr to 0200A410, 0200A4F6, 0200A4F8, 0200A4FA, 0200A4FC, 0200A4FE, 0200A500) 020082E0 = ? 02008328 = MAJOR1 = Initialization 02008A6C = MAJOR7 = Return 0 02008A70 = ? 02008B24 = ? 02008DB4 = ? 02008E44 = ? (Palette/VRAM-related...) Password-related 02009804 = ? 0200987C = ? 020098E0 = ? (06002000) 02009C7C = ? 0200A068 = ? 0200A17C = ? 0200A1C0 = FUNCTION LIST! 0200A438 = ? (Password-related) 0200A440 = ABCDE FGHJK LMNPQ R 0200A454 = STUVW XYZ23 45678 9 0200A468 = abcde fghij kmnpq r 0200A47C = stuvw xyz!? #&$%+ = 0200A490 = ? 0200A49C = MAJOR2 = Some Entrances 0200A4CC = MAJOR3 = Exit Init 0200A4D0 = MAJOR4 = NPC Init 0200A4E8 = MAJOR5 = Event Init 0200A4F4 = ? 0200A65E = ? pass-related 0200A6A0 = ? 0200A6B0 = ? 0200A6C0 = ? 0200A6F0 = ? 0200A700 = ? 0200A70C = ? 0200A71C = ? 0200A74A = PASSWORD BUFFER ; User-entry 0200A88A = pw-rel 5 = Venus Lighthouse Map Code 02008038 = 02008080 = 020080A4 = 020080DC = 02008118 = 02008150 = (Includes pointer to 02009DCC) 02008314 = 0200834C = 0200838C = 02008510 = 0200856C = Return 02008570 = (Pointer from 02009DE8) Called from Script 020085A8 = (Pointer-Called from 020086AC) 02008650 = MAJOR2 = Some Entrances = Return 02009E58 02008658 = MAJOR6 = = Return 0 0200865C = MAJOR3 = Exit Init = Return 0200A0F8 02008664 = NPC-event - Called from script 02008678 = NPC-event - Called from script 02008684 = MAJOR4 = NPC Init = If door=99 Then 0200A378 Else 0200A1B0 020086AC = Laser Collision Event (Includes Script pointer to 02009DD8, and pointer to 020085A8) 0200878C = Event 02008874 = (Called from function 02008B2C) 020088D4 = Event 020088FC = Event 02008924 = Event 02008998 = Event 02008A0C = MAJOR5 = Event Init = Return 0200A408 02008A14 = Return 0 02008A18 = 02008A54 = MAJOR1 = Initialization 02008B28 = MAJOR7 = = Return 0 02008B2C = (Includes call to 02008874) 02008D30 = 02009AFC = FUNCTION LIST! 02009CE4 = ? 02009D1C = ? 02009D54 = ? 02009DCC = ? (Pointer list for above 3) 02009DD8 = Function Script Data (PC flashing effect + sound effect when going into lasers) 02009E58 = MAJOR2 = Some Entrances = All 0200A0F8 = MAJOR3 = Exit Init = All 0200A15C = NPC Script Data (Statues) 0200A180 = NPC Script Data 0200A1B0 = MAJOR4 = NPC Init = All 0200A378 = MAJOR4 = NPC Init = Door 99 0200A408 = MAJOR5 = Event Init = All 0200A5A4 = End 6, 7, 8 = Suhalla Gate 02008038 = Event (Map 7) Mercury Djinni Battle 02008044 = MAJOR2 = Some Entrances 02008084 = MAJOR6 = = Return 0 02008088 = MAJOR3 = Exit Init = Return 02008ED0 02008090 = MAJOR4 = NPC Init 020080D0 = MAJOR5 = Event Init 02008110 = Init Map 6: Door 99 sets 894 (Ruffian 2); does ? if on. 02008168 = Init Map 7: ?; Door 99 sets 895 (Ruffian 3, 4, 5); if on, ?; ?. 02008264 = Init Map 8: if flag x109=0 and door=99 then call 02008800. (cutscene after battle.) 0200828C = MAJOR1 = Initialization; Set 020301AC to x100; Return 0 020082E0 = ?; Set x8DE (Ship acquired.) 02008308 = Event (Map 6/All) Warp to 7:0. 02008378 = Event (Map 8) Warp to 7:0. 020083A8 = MAJOR7 = = Return 0 020083AC = Event (Map 6/All) Ruffian 2 02008494 = Event (Map 7) Ruffian 3, 4, 5 02008650 = Event (Map 8) Punch Ant comes out of hiding cutscene. 0200871C = Event (Map 8) Punch Ant comes out of hiding cutscene. 02008800 = Cutscene after battle. (Map 8) Kraden: “My! That was invigorating!…”; Set flag x896. 020088CC = Event (Map 7) Kraden: “Not that way, Jenna! The meeting spot is down…” 02008958 = Function list. 02008AA8 = ? 02008CD8 = MAJOR2 = Some Entrances (Map 6 / All) 02008D98 = MAJOR2 = Some Entrances (Map 7) 02008E40 = MAJOR2 = Some Entrances (Map 8) 02008ED0 = MAJOR3 = Exit Init (Map 6,7,8) 02008F10 = MAJOR4 = NPC Init (Map 8 / All) 02008F58 = MAJOR4 = NPC Init (Map 7) 02009048 = MAJOR4 = NPC Init (Map 6) 02009078 = MAJOR5 = Event Init (Map 6 / All) 020090E4 = MAJOR5 = Event Init (Map 7) 02009180 = MAJOR5 = Event Init (Map 8) 020091CC = End Event identifiers: 00 = Walkable 01-32 (x1-x20) = Doors 30-? (x1E-) = (Daila's Sanctum) 35-? (x23-) = Reveal? 40-? (x28-) = Item (Daila's Sanctum/Pedestal) 50 (x32) = Lift? 99 (x63) = Cutscene? (Does not display on map.) 100-? (x64-?) = Treasure (C8,F2,F3,F4) = Well, jar, barrel, wooden box) 255 (xFF) = Solid wall Event Initialization: 080CCDC0 =(Function for doing event?) 080CE370 =(Function for finding a match?) Events are listed in this order: Doors (Sorted by Door Numbers) Events on collision (Type 8) Psynergy (Type 9) Event Data: Event Type (4-bit?) 0 = NPC 1 = Door 2 = Scripted event on collision 3 = Scripted event on command (A button) 4 = Used Item 5 = Used Psynergy (9085=Reveal; 8C15=Move; 8D15=Mind Read) 6 = ? (See Map 71 Yampi Desert for research.) 7 = (NPC-related?) 8 = Pushing Objects 9 = Pushing Objects Event Type Arg (4-bit?) For doors = Door type (Upstairs/downstairs/no stairs/etc.) If type 0: 02 = True if holding button during collision. (Not moving.) If type 1: 02=Up stairs 03=Down stairs If type 3: Dialogue for checking something. (This is what’s being checked. Ex: Chest, jar, barrel, etc.) If type 5: Ability/Psynergy ??? (0?) Event Identifier # (NPC objects or Map objects depending on type.) Flag Execute (Door numbers/Text entry/Pointer if scripted/etc.) Map 134: Door xA = Exit xA Door (w xCE) xB = Exit xB ; (Tent) 080C8880 = Attach cyclone to entrances. (From sky.) 080C8888 (080E37E0) = Attach cyclone to entrances. (From below.) (Called from Initialization code.) --- Daila's Shop NPC: If (NPC(active_PC).dir + x2000) And xC000 = North Then shop(3, self) Else -- dialogue(6199) -- End If --- If NPC(active_PC).dir = North Then shop_display(3, self) Else �